home *** CD-ROM | disk | FTP | other *** search
/ Utilities Professional 1-1500 / Utilities Professional 1-1500 (1994)(WPD)[!].iso / 07511000 / var0784.dms / var0784.adf / Txref / refer.txed < prev    next >
Text File  |  1978-01-24  |  2KB  |  70 lines

  1. /*    
  2. *    Reference Macro for TxEd.  Supposed to work like the
  3. *    reference utility in dme.  REQUIRES THE FULL AREXX SYSTEM
  4. *    TO WORK.  (rename file to reference.txed)
  5. */
  6.  
  7. SIGNAL ON ERROR        /* catch any errors */
  8. OPTIONS FAILAT 60    /* but don't die and go away */
  9. OPTIONS RESULTS        
  10.  
  11. MARK 1            /* get the current word from TxEd */
  12. word        
  13. 'COPY +X'
  14. 'STATUS M+X'
  15. find = strip(result,,'     ')   /* strip string is a blank and a tab */
  16.  
  17. /* put a nice message on the txed window */
  18. line = "Attempting to reference" find
  19. msg line
  20.  
  21. /* extract the 'stuff' if it exists */
  22. address command 'getrefs' find
  23.  
  24. /* it exists, so start another txed process and get it's address */
  25. line = setclip("Reference","1")
  26. Moretxed
  27.  
  28. /* wait loop to allow new txed to finish being born */
  29. call time 'r'
  30. do while time(e) < 2.5
  31.     nop
  32. end
  33.  
  34. newtx = getclip("Reference")        /* get address of new txed */
  35. line = setclip("Reference")    /* don't want anyone else to use OUR var */
  36.  
  37. /* tell new txed to move to top of screen and display extracted text */
  38. /* this particular set of commands will display the function call    */
  39. /* template if you are referencing the autodocs.  change to taste    */
  40. address value newtx 
  41. 'window 0 0 640 50'
  42. 'load ram:extract.txt'
  43. top
  44. down 4
  45.  
  46. /* now tell the original txed to get out of the way and activate itself */
  47. address
  48. 'window 0 45 640 154'
  49.  
  50. /* be nice and tidy by deleteing the temporary file */
  51. address command 'delete ram:extract.txt'
  52. exit
  53.  
  54. /* if the GetRefs program failed, ARexx will come here.  The DOS */
  55. /* return code will be in the variable rc so we can construct a  */
  56. /* specific error message to send back to the original txed     */
  57. ERROR:
  58. select
  59.     when rc = 50 then line = "Bad command line to GetRefs command"
  60.     when rc = 51 then line = "Can't open reference file TxEd.refs"
  61.     when rc = 52 then line = "Reference string" find "was not found"
  62.     when rc = 53 then line = "Bad line format in TxEd.refs - couldn't decode"
  63.     when rc = 54 then line = "Can't open reference source file"
  64.     when rc = 55 then line = "Can't find referenced text"
  65.     when rc = 56 then line = "Can't open ram:extract.txt - bad news"
  66.     otherwise line = "Unrecognized error - something is very wrong"
  67. end
  68. msg line
  69. exit /* we don't exit with an error code since that erases our nice message*/
  70.